package io;

import java.io.*;
import java.util.Scanner;

//复制文件
public class Demo11 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请你输入源文件的路径：");
        String srcPath = scanner.next(); //读取用户在控制台上输入的源文件的路径
        System.out.println("请你输入目标文件的路径;");
        String destPath = scanner.next();//读取用户在控制台上输入的目标文件的路径
        //检查用户输入的合法性
        //先检查源文件的路径
        File file=new File(srcPath);
        if (!file.isFile()){
            System.out.println("输入的源文件路径是错误的！");
            return;
        }
        //检查目标文件的父目录是不是一个目录
        File file1=new File(destPath);
        //找到目标文件的父目录
      File file1Parent=file1.getParentFile();
      if (!file1Parent.isDirectory()){
          System.out.println("输入的目标文件的路径是错误的！");
          return;
      }
      //代码能走到这说明源文件的路径与目标文件的路径是正确的
        //开始进行复制
        //从源文件中把内容读出来，复制到目标文件中
        //使用try with resources的写法进行读写
        try(Reader reader=new FileReader(srcPath);Writer writer=new FileWriter(destPath)){
            while (true){
                char[]chars=new char[1024];
                int n=reader.read(chars);
                if (n==-1){
                    break;
                }
                writer.write(chars,0,n);
            }
        }catch (IOException e){
            e.printStackTrace();
        }
        System.out.println("复制完成！");
    }
}
